package com.sp.mapper;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.sp.model.entity.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * 用户 Mapper
 *
 * @author tong
 */
@Mapper
public interface UserMapper extends BaseMapper<User> {

    /**
     * 根据车牌号查询未删除用户
     *
     * @return
     */
    User selectByCarNumber(@Param("carNumber") String carNumber);

    /**
     * 根据车牌号查询所有用户（未删除、删除）
     *
     * @return
     */
    User selectByCarNumberContainDel(@Param("carNumber") String carNumber);

    /**
     * 连表分页查询
     *
     * @param page
     * @param queryWrapper
     * @return
     */
    IPage<User> page(IPage<User> page, @Param(Constants.WRAPPER) Wrapper<User> queryWrapper);

    /**
     * 修改数据库中已被删除的用户为未删除
     *
     * @param user
     * @return
     */
    boolean updateDeletedById(User user);

}
